This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.

site: https://cran.r-project.org/web/packages/cdparcoord/vignettes/cdparcoord.html

library(plotly)
df <- read.csv("meninas.csv", stringsAsFactors=FALSE, sep=",")
df_bin <- read.csv("meninasbin.csv", stringsAsFactors=FALSE, sep=";")
str(df)
'data.frame':   789 obs. of  18 variables:
 $ ID.Aluno                        : num  100060 100383 100955 101542 101565 ...
 $ Sexo                            : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
 $ Data.de.Nascimento              : chr  "1983-12-31 00:00:00.000" "1977-08-24 00:00:00.000" "1985-09-23 00:00:00.000" "1986-10-23 00:00:00.000" ...
 $ UF.de.Nascimento                : chr  "DF" "RN" "DF" "RJ" ...
 $ Cotista                         : chr  "Não" "Não" "Não" "Não" ...
 $ Tipo.de.Escola                  : chr  "Não Informada" "Não Informada" "Não Informada" "Não Informada" ...
 $ Raça                            : chr  "Não informado" "Não informado" "Não informado" "Branca                        " ...
 $ Curso                           : chr  "Ciência da Computação" "Ciência da Computação" "Computação" "Engenharia Mecatrônica" ...
 $ Opção                           : chr  "Ciência da Computação" "Ciência da Computação" "Computação" "Engenharia Mecatrônica" ...
 $ Periodo.de.Ingresso.na.Unb      : int  20032 20032 20041 20041 20041 20041 20041 20041 20041 20041 ...
 $ Periodo.de.ingresso.na.opção    : int  20032 20032 20041 20041 20041 20041 20041 20041 20041 20041 ...
 $ Forma.de.Ingresso.na.UnB        : chr  "Vestibular                    " "Transferencia Obrigat�ria     " "Programa de Avaliação Seriada " "Programa de Avaliação Seriada " ...
 $ Período.de.saída.da.opção       : int  20081 20042 20082 20061 20081 20062 20082 20101 20081 20101 ...
 $ Forma.de.saída.da.opção         : chr  "Formatura" "Saiu" "Formatura" "Saiu" ...
 $ Min..Créd..Formatura            : int  240 240 180 274 274 244 240 240 240 244 ...
 $ Créditos.cursados.no.total      : int  240 6 168 68 151 272 238 236 180 130 ...
 $ Créditos.integralizados.no.total: int  240 6 180 70 165 144 240 240 186 134 ...
 $ Créditos.a.integralizar.no.total: int  0 234 0 204 109 100 0 0 54 110 ...
str(df[, 4:13])
'data.frame':   789 obs. of  10 variables:
 $ UF.de.Nascimento            : chr  "DF" "RN" "DF" "RJ" ...
 $ Cotista                     : chr  "Não" "Não" "Não" "Não" ...
 $ Tipo.de.Escola              : chr  "Não Informada" "Não Informada" "Não Informada" "Não Informada" ...
 $ Raça                        : chr  "Não informado" "Não informado" "Não informado" "Branca                        " ...
 $ Curso                       : chr  "Ciência da Computação" "Ciência da Computação" "Computação" "Engenharia Mecatrônica" ...
 $ Opção                       : chr  "Ciência da Computação" "Ciência da Computação" "Computação" "Engenharia Mecatrônica" ...
 $ Periodo.de.Ingresso.na.Unb  : int  20032 20032 20041 20041 20041 20041 20041 20041 20041 20041 ...
 $ Periodo.de.ingresso.na.opção: int  20032 20032 20041 20041 20041 20041 20041 20041 20041 20041 ...
 $ Forma.de.Ingresso.na.UnB    : chr  "Vestibular                    " "Transferencia Obrigat�ria     " "Programa de Avaliação Seriada " "Programa de Avaliação Seriada " ...
 $ Período.de.saída.da.opção   : int  20081 20042 20082 20061 20081 20062 20082 20101 20081 20101 ...
library(cdparcoord)
df_aux = df[, 8:14]
df_aux <- makeFactor(df_aux,c('Período.de.saída.da.opção','Periodo.de.Ingresso.na.Unb','Periodo.de.ingresso.na.opção'))
#pe25disc <- discretize(df_aux,nlevels=5)  
discparcoord(df_aux,k=1000)
library(cdparcoord)
df_aux_bin = df_bin[, 8:14]
#df_aux_bin <- makeFactor(df_aux_bin,c('Período.de.saída.da.opção','Periodo.de.Ingresso.na.Unb','Periodo.de.ingresso.na.opção'))
#pe25disc <- discretize(df_aux,nlevels=5)  
discparcoord(df_aux_bin,k=100)
mydata <- na.omit(df_bin[, 4:18]) # listwise deletion of missing
Error in `[.data.frame`(df_bin, , 4:18) : undefined columns selected
# K-Means Cluster Analysis
fit <- kmeans(mydata, 3) # 5 cluster solution
# get cluster means 
aggregate(mydata,by=list(fit$cluster),FUN=mean)
# append cluster assignment
mydata <- data.frame(mydata, fit$cluster)
# Cluster Plot against 1st 2 principal components
# vary parameters for most readable graph
library(cluster) 
clusplot(mydata, fit$cluster, color=TRUE, shade=TRUE, 
    labels=2, lines=0)

# Centroid Plot against 1st 2 discriminant functions
library(fpc)
plotcluster(mydata, fit$cluster)

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKVGhpcyBpcyBhbiBbUiBNYXJrZG93bl0oaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbSkgTm90ZWJvb2suIFdoZW4geW91IGV4ZWN1dGUgY29kZSB3aXRoaW4gdGhlIG5vdGVib29rLCB0aGUgcmVzdWx0cyBhcHBlYXIgYmVuZWF0aCB0aGUgY29kZS4gCgpUcnkgZXhlY3V0aW5nIHRoaXMgY2h1bmsgYnkgY2xpY2tpbmcgdGhlICpSdW4qIGJ1dHRvbiB3aXRoaW4gdGhlIGNodW5rIG9yIGJ5IHBsYWNpbmcgeW91ciBjdXJzb3IgaW5zaWRlIGl0IGFuZCBwcmVzc2luZyAqQ3RybCtTaGlmdCtFbnRlciouIAoKc2l0ZToKaHR0cHM6Ly9jcmFuLnItcHJvamVjdC5vcmcvd2ViL3BhY2thZ2VzL2NkcGFyY29vcmQvdmlnbmV0dGVzL2NkcGFyY29vcmQuaHRtbApgYGB7cn0KbGlicmFyeShwbG90bHkpCgpkZiA8LSByZWFkLmNzdigibWVuaW5hcy5jc3YiLCBzdHJpbmdzQXNGYWN0b3JzPUZBTFNFLCBzZXA9IiwiKQpkZl9iaW4gPC0gcmVhZC5jc3YoIm1lbmluYXNiaW4uY3N2Iiwgc3RyaW5nc0FzRmFjdG9ycz1GQUxTRSwgc2VwPSI7IikKYGBgCgpgYGB7cn0Kc3RyKGRmKQpzdHIoZGZbLCA0OjEzXSkKYGBgCgoKYGBge3J9CmxpYnJhcnkoY2RwYXJjb29yZCkKZGZfYXV4ID0gZGZbLCA4OjE0XQpkZl9hdXggPC0gbWFrZUZhY3RvcihkZl9hdXgsYygnUGVyw61vZG8uZGUuc2HDrWRhLmRhLm9ww6fDo28nLCdQZXJpb2RvLmRlLkluZ3Jlc3NvLm5hLlVuYicsJ1BlcmlvZG8uZGUuaW5ncmVzc28ubmEub3DDp8OjbycpKQojcGUyNWRpc2MgPC0gZGlzY3JldGl6ZShkZl9hdXgsbmxldmVscz01KSAgCmRpc2NwYXJjb29yZChkZl9hdXgsaz0xMDAwKQpgYGAKCgpgYGB7cn0KbGlicmFyeShjZHBhcmNvb3JkKQpkZl9hdXhfYmluID0gZGZfYmluWywgODoxNF0KI2RmX2F1eF9iaW4gPC0gbWFrZUZhY3RvcihkZl9hdXhfYmluLGMoJ1BlcsOtb2RvLmRlLnNhw61kYS5kYS5vcMOnw6NvJywnUGVyaW9kby5kZS5JbmdyZXNzby5uYS5VbmInLCdQZXJpb2RvLmRlLmluZ3Jlc3NvLm5hLm9ww6fDo28nKSkKI3BlMjVkaXNjIDwtIGRpc2NyZXRpemUoZGZfYXV4LG5sZXZlbHM9NSkgIApkaXNjcGFyY29vcmQoZGZfYXV4X2JpbixrPTEwMCkKYGBgCgpgYGB7cn0KbXlkYXRhIDwtIG5hLm9taXQoZGZfYmluWywgNDoxN10pICMgbGlzdHdpc2UgZGVsZXRpb24gb2YgbWlzc2luZwpteWRhdGEgPC0gc2NhbGUobXlkYXRhKSAjIHN0YW5kYXJkaXplIHZhcmlhYmxlcwpgYGAKCmBgYHtyfQojIEstTWVhbnMgQ2x1c3RlciBBbmFseXNpcwpmaXQgPC0ga21lYW5zKG15ZGF0YSwgMykgIyA1IGNsdXN0ZXIgc29sdXRpb24KIyBnZXQgY2x1c3RlciBtZWFucyAKYWdncmVnYXRlKG15ZGF0YSxieT1saXN0KGZpdCRjbHVzdGVyKSxGVU49bWVhbikKIyBhcHBlbmQgY2x1c3RlciBhc3NpZ25tZW50Cm15ZGF0YSA8LSBkYXRhLmZyYW1lKG15ZGF0YSwgZml0JGNsdXN0ZXIpCmBgYAoKYGBge3J9CiMgQ2x1c3RlciBQbG90IGFnYWluc3QgMXN0IDIgcHJpbmNpcGFsIGNvbXBvbmVudHMKCiMgdmFyeSBwYXJhbWV0ZXJzIGZvciBtb3N0IHJlYWRhYmxlIGdyYXBoCmxpYnJhcnkoY2x1c3RlcikgCmNsdXNwbG90KG15ZGF0YSwgZml0JGNsdXN0ZXIsIGNvbG9yPVRSVUUsIHNoYWRlPVRSVUUsIAogIAlsYWJlbHM9MiwgbGluZXM9MCkKCiMgQ2VudHJvaWQgUGxvdCBhZ2FpbnN0IDFzdCAyIGRpc2NyaW1pbmFudCBmdW5jdGlvbnMKbGlicmFyeShmcGMpCnBsb3RjbHVzdGVyKG15ZGF0YSwgZml0JGNsdXN0ZXIpCgoKYGBgCgoKCgoKCgoK